"""
pytest.skip/@pytest.mark.skip
"""
"""
主要是用来跳过执行某条用例, 看起来很像是 常用插件中的pytest-dependency(用例依赖)

# https://walker_kwu.gitee.io/my-blog/2023/05/10/autoTest/pytest%E5%B8%B8%E7%94%A8%E6%8F%92%E4%BB%B6/

但这个是直接跳过, 不依赖于任何条件

比如, 在某个需求版本中, 尚未实现某个接口的功能, 但我们已经根据需求/接口文档编写好了自动化用例

那我们执行的时候, 就可以通过 skip 跳过它

并且, 跳过时, 可以写上跳过原因, 起到了很好的告示作用.
"""

## pytest.skip
## 直接调用，在函数中调用
# import pytest
#
# class TestCase():
#
#     def test_a(self):
#         print("------->test_a1")
#         pytest.skip(reason="跳过此次执行")  # 跳过执行, 并声明跳过原因
#         print("------->test_a2")
#         assert 1
#
#     def test_b(self):
#         print("------->test_b")
#         assert 1
#
# if __name__ == '__main__':
#     pytest.main(['-s', '-v', __file__])  # 加上 -v 可以看到跳过原因

## @pytest.mark.skip
"""
通过装饰器的方式, 实现跳过用例

被该装饰器装饰的用例, 不会被执行

同样的, 可以写上跳过原因
"""
# import pytest
#
#
# class TestCase():
#
#     @pytest.mark.skip(reason="跳过此次执行")
#     def test_a(self):
#         print("------->test_a1")
#         print("------->test_a2")
#         assert 1
#
#     def test_b(self):
#         print("------->test_b")
#         assert 1
#
#     def test_c(self):
#         print("------->test_c")
#         assert 1
#
# if __name__ == '__main__':
#     pytest.main(['-s', '-v', __file__])  # 加上 -v 可以看到跳过原因

import pytest


@pytest.mark.skip(reason="跳过此次执行")
class TestCase():

    def test_a(self):
        print("------->test_a1")
        print("------->test_a2")
        assert 1

    def test_b(self):
        print("------->test_b")
        assert 1


if __name__ == '__main__':
    pytest.main(['-s', '-v', __file__])  # 加上 -v 可以看到跳过原因